package cc.autoapi.pucong.auto.flow.provider.group.convert;

import cc.autoapi.pucong.auto.flow.provider.group.entity.GroupInfoInsertDto;
import cc.autoapi.pucong.auto.flow.provider.group.entity.GroupInfoSelectDto;
import cc.autoapi.pucong.auto.flow.provider.group.entity.GroupInfoUpdateDto;
import cc.autoapi.pucong.auto.flow.provider.group.entity.GroupInfoVo;
import cc.autoapi.pucong.auto.flow.persistence.po.sys.GroupInfoPo;
import org.mapstruct.Mapper;

import java.util.List;

/**
* @author pucong
 * @url https://gitee.com/pucong
* @create 2023-05-31
*/
@Mapper(componentModel = "spring")
public interface GroupInfoBeanConvert {

    /**
     * dto转do
     * @param groupInfoDto
     * @return
     */
    GroupInfoPo dto2do(GroupInfoUpdateDto groupInfoDto);

    /**
     * dto转do
     * @param groupInfoDto
     * @return
     */
    GroupInfoPo dto2do(GroupInfoSelectDto groupInfoDto);

    /**
     * dto转do
     * @param groupInfoDto
     * @return
     */
    GroupInfoPo dto2do(GroupInfoInsertDto groupInfoDto);


    /**
     * do转dto
     * @param groupInfo
     * @return
     */
    GroupInfoVo do2vo(GroupInfoPo groupInfo);


    /**
     * list<do>转list<vo>
     * @param groupInfos
     * @return
     */
    List<GroupInfoVo> do2vos(List<GroupInfoPo> groupInfos);
}
